package com.xbdun.facade.bmp.service.system;

import com.xbdun.common.api.Client;
import com.xbdun.common.api.XbdUnStringResult;
import com.xbdun.facade.bmp.request.system.SysOrgAuditingRequest;
import com.xbdun.facade.bmp.request.system.SysOrgModifyRequest;
import com.xbdun.facade.bmp.request.system.SysOrgPagerRequest;
import com.xbdun.facade.bmp.request.system.SysOrgRequest;
import com.xbdun.facade.bmp.result.system.SysOrgPagerResult;
import com.xbdun.facade.bmp.result.system.SysOrgResult;

/**
* @ClassName: UserInfoFacade
* @Description: 用户信息
* @author zhanggt 360730440@qq.com
* @date 2017年3月21日 下午3:14:50
*
 */
public interface SysOrgFacade {

	/**
	* 新增企业基本信息
	* @Title: addSysOrg
	* @Description: 新增企业基本信息
	* @param  request	请求参数
	* @throws Exception    设定文件
	* @return void    返回类型
	*/
	public XbdUnStringResult addSysOrg(SysOrgRequest request,Client client);
	
	/**
	* 根据企业ID查询企业的基本信息
	* @Title: getSysOrgByOrgCode
	* @Description: 根据企业orgCode查询企业的基本信息
	* @param orgCode
	* @throws Exception    设定文件
	* @return SysOrgResult    返回类型
	 */
	public SysOrgResult getSysOrgByOrgCode(long orgCode);
	
	/**
	* 修改机构信息
	* @Title: modifySysOrg
	* @Description: 修改机构信息
	* @param request	请求对象
	* @param client		客户端
	* @return XbdUnStringResult    返回类型
	 */
	public XbdUnStringResult modifySysOrg(SysOrgModifyRequest request,Client client);
	
	/**
	* @Title: queryPager
	* @Description: 分页查询
	* @param requestPager	请求参数
	* @param client 调用的客户端
	* @return SysOrgPagerResult    返回类型
	 */
	public SysOrgPagerResult queryPager(SysOrgPagerRequest requestPager,Client client);
	
	/**
	* 设置代理机构
	* @Title: modifyAgentOrg
	* @Description: 设置代理机构
	* @param orgCode		机构编编号
	* @param yesOrNoEnum	是否为代理机构  com.xbdun.common.enums.YesOrNoEnum
	* @return void    返回类型
	 */
	public XbdUnStringResult modifyAgentOrg(long orgCode,int blAgent,Client client);
	
	/**
	* 机构审核
	* @Title: auditingSysOrg
	* @Description: 机构审核
	* @param request	请求对象
	* @param client		客户端
	* @return XbdUnStringResult    返回类型
	 */
	public XbdUnStringResult auditingSysOrg(SysOrgAuditingRequest request,Client client);
}
